<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="zh">
<head>
	<meta charset="utf-8">
	<title>FEBS 权限系统</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport"
				content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
	<link rel="stylesheet"
				th:href="${@mvcResourceUrlProvider.getForLookupPath('/layui/css/layui.css')}" media="all">
	<link rel="stylesheet"
				th:href="${@mvcResourceUrlProvider.getForLookupPath('/febs/css/febs.css')}" media="all">
	<link rel="stylesheet"
				th:href="${@mvcResourceUrlProvider.getForLookupPath('/febs/css/login.css')}" media="all">
	<link rel="icon"
				th:href="${@mvcResourceUrlProvider.getForLookupPath('/febs/images/favicon.ico')}"
				type="image/x-icon"/>
</head>
<body>
<div id="febs-login" lay-title="登录">
	<div class="login-wrap">
		<div class="layui-container">
			<div class="layui-row">
				<div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4 febs-tc">
					<div class="layui-logo"><span><b>FEBS</b> 权限系统</span></div>
				</div>
				<div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4" id="login-div">
					<div class="layui-form" lay-filter="login-form">
						<div class="layui-anim layui-anim-upbit">
							<ul class="login-type-tab">
								<li class="active">系统登录</li>
							</ul>
							<div class="normal-login-form">
								<div class="layui-form-item">
									<label class="layui-icon label-icon layui-icon-username"></label>
									<input type="text" name="username" lay-verify="required"
												 placeholder="用户名" autocomplete="off" class="layui-input"
												 value="mrbird">
								</div>
								<div class="layui-form-item password-block">
									<label class="layui-icon label-icon layui-icon-password"></label>
									<input type="password" name="password" lay-verify="required"
												 placeholder="密码" autocomplete="off" class="layui-input"
												 value="123456">
								</div>
								<div class="layui-form-item">
									<div class="layui-row">
										<div class="layui-col-xs7">
											<label class="layui-icon label-icon layui-icon-vercode"></label>
											<input type="text" maxlength="4" name="imageCode"
														 lay-verify="required"
														 placeholder="验证码" class="layui-input"
														 autocomplete="off">
										</div>
										<div class="layui-col-xs5">
											<img class="codeimg" id="codeimg" src=""/>
										</div>
									</div>
								</div>
								<div class="layui-form-item" style="margin-top: -10px;">
									<input type="checkbox" name="rememberMe" title="记住我"
												 lay-skin="primary">
								</div>
								<div class="layui-form-item">
									<button class="layui-btn layui-btn-normal layui-btn-fluid"
													lay-submit
													lay-filter="login-submit" id="login">
										<i style="display: none"
											 class="layui-icon layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop"></i>
										立即登录
									</button>
								</div>
							</div>
							<div class="layui-form-item febs-tr">
								<a id="register-href">注册账号</a>
							</div>
						</div>
					</div>
				</div>

				<div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4 febs-hide"
						 id="register-div">
					<div class="layui-form" lay-filter="register-form">
						<div class="layui-anim layui-anim-upbit">
							<ul class="login-type-tab">
								<li class="active">账号注册</li>
							</ul>
							<div class="normal-login-form">
								<div class="layui-form-item">
									<label class="layui-icon label-icon layui-icon-username"></label>
									<input type="text" name="username" minlength="2" maxlength="10"
												 lay-verify="range"
												 placeholder="用户名" autocomplete="off" class="layui-input">
								</div>
								<div class="layui-form-item password-block">
									<label class="layui-icon label-icon layui-icon-password"></label>
									<input type="password" name="password" minlength="6"
												 lay-verify="range"
												 placeholder="密码" autocomplete="off" class="layui-input">
								</div>
								<div class="layui-form-item password-block">
									<label class="layui-icon label-icon layui-icon-password"></label>
									<input type="password" name="passwordB" lay-verify="required"
												 placeholder="密码确认" autocomplete="off"
												 class="layui-input">
								</div>
								<div class="layui-form-item">
									<button class="layui-btn layui-btn-normal layui-btn-fluid"
													lay-submit
													lay-filter="register-submit" id="register">
										<i style="display: none"
											 class="layui-icon layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop"></i>
										立即注册
									</button>
								</div>
							</div>
						</div>
						<div class="layui-form-item febs-tr">
							<a id="login-href">已有账号？马上登录</a>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
<script th:src="@{layui/layui.js}"></script>
<script th:inline="javascript">
    let ctx = [[@{/}]];

        layui.extend({
            validate: './febs/lay/modules/validate'
        }).use(['form', 'layer', 'validate'], function (form, layer) {
            let $ = layui.jquery,
                validate = layui.validate,
                $view = $('#febs-login'),
                type = 'login',
                $loginDiv = $view.find('#login-div'),
                $registerDiv = $view.find('#register-div');

            form.verify(validate);
            form.render();
            initCode();

            //提交登录表单
            form.on('submit(login-submit)', function (data) {
                let loading = $(this).find('.layui-icon');
                if (loading.is(":visible")) return;
                loading.show();
                $.post(ctx + 'form/login', data.field, function (r) {
                    if (r.code === 200) {
                        layui.data('febs', {
                            key: 'token', value: r.token
                        });
                        layui.data('febs', {
                            key: 'user', value: r.user
                        });
                        layui.data('febs', {
                            key: 'permissions', value: r.permissions
                        });
                        layui.data('febs', {
                            key: 'roles', value: r.roles
                        });
                        location.href = ctx + "index";
                    } else {
                        layer.msg(r.message);
                        loading.hide();
                        initCode();
                    }
                });
                return false;
            })
            ;

            //提交注册表单
            form.on('submit(register-submit)', function (data) {
                if (data.field.password !== data.field.passwordB) {
                    layer.msg('两次密码输入不一致！');
                    return;
                }
                let loading = $(this).find('.layui-icon');
                if (loading.is(":visible")) return;
                loading.show();
                $.post(ctx + 'register', data.field, function (r) {
                    if (r.code === 200) {
                        layer.msg('注册成功，请登录');
                        loading.hide();
                        $view.find('#login-href').trigger('click');
                    } else {
                        layer.msg(r.message);
                        loading.hide();
                    }
                });
                return false;
            });

            function initCode() {
                $view.find('#codeimg').attr("src", ctx + "images/captcha?data=" + new Date().getTime());
            }

            $view.find('#codeimg').on('click', function () {
                initCode();
            });

            $view.find('#register-href').on('click', function () {
                resetForm();
                type = 'register';
                $loginDiv.hide();
                $registerDiv.show();
            });

            $view.find('#login-href').on('click', function () {
                resetForm();
                type = 'login';
                $loginDiv.show();
                $registerDiv.hide();
            });

            function resetForm() {
                $registerDiv.find('input[name="username"]').val('')
                    .end().find('input[name="password"]').val('')
                    .end().find('input[name="passwordB"]').val('');

                $loginDiv.find('input[name="username"]').val('')
                    .end().find('input[name="password"]').val('')
                    .end().find('input[name="imageCode"]').val('');
            }

            $(document).on('keydown', function (e) {
                if (e.keyCode === 13) {
                    if (type === 'login')
                        $view.find('#login').trigger("click");
                    if (type === 'register')
                        $view.find('#register').trigger("click");
                }
            });
        })
    ;
</script>
</body>
</html>